home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Micromail 103 / MicroMail.jar / MainScreen.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-09-07  |  6.1 KB  |  239 lines

  1. import javax.microedition.lcdui.Alert;
  2. import javax.microedition.lcdui.AlertType;
  3. import javax.microedition.lcdui.Canvas;
  4. import javax.microedition.lcdui.Command;
  5. import javax.microedition.lcdui.CommandListener;
  6. import javax.microedition.lcdui.Displayable;
  7. import javax.microedition.lcdui.Font;
  8. import javax.microedition.lcdui.Graphics;
  9. import javax.microedition.lcdui.Image;
  10.  
  11. class MainScreen extends Canvas implements CommandListener {
  12.    boolean pressed;
  13.    boolean buttonReleased;
  14.    boolean showIntroScreen = true;
  15.    Font fSmall = Font.getFont(32, 0, 8);
  16.    final int maxItems = 5;
  17.    final int maxOnRow = 3;
  18.    final int xSpace = 5;
  19.    final int ySpace = 2;
  20.    final int xStart = 2;
  21.    final int yStart;
  22.    int iBottomLine;
  23.    Command aboutCommand;
  24.    Command helpCommand;
  25.    Command exitCommand;
  26.    MicroMail midlet;
  27.    Image[] images;
  28.    Image img;
  29.    int imageWidth;
  30.    int imageHeight;
  31.    int prevSelected;
  32.    int selected;
  33.  
  34.    public MainScreen(MicroMail var1) {
  35.       this.yStart = this.fSmall.getHeight() + 3;
  36.       this.aboutCommand = new Command(Resource.getText(48), 1, 1);
  37.       this.helpCommand = new Command(Resource.getText(57), 1, 2);
  38.       this.exitCommand = new Command(Resource.getText(0), 2, 3);
  39.       this.images = new Image[13];
  40.       this.midlet = var1;
  41.       this.prevSelected = 0;
  42.       this.selected = 0;
  43.       this.pressed = false;
  44.       this.buttonReleased = true;
  45.  
  46.       try {
  47.          this.img = Image.createImage("/images/MicroMail.png");
  48.          this.images[0] = Image.createImage("/images/Inbox.png");
  49.          this.images[1] = Image.createImage("/images/Outbox.png");
  50.          this.images[2] = Image.createImage("/images/Sent.png");
  51.          this.images[3] = Image.createImage("/images/Deleted.png");
  52.          this.images[4] = Image.createImage("/images/Account.png");
  53.          this.images[5] = Image.createImage("/images/AddressBook.png");
  54.          this.images[6] = Image.createImage("/images/Inbox_p.png");
  55.          this.images[7] = Image.createImage("/images/Outbox_p.png");
  56.          this.images[8] = Image.createImage("/images/Sent_p.png");
  57.          this.images[9] = Image.createImage("/images/Deleted_p.png");
  58.          this.images[10] = Image.createImage("/images/Account_p.png");
  59.          this.images[11] = Image.createImage("/images/AddressBook_p.png");
  60.          this.images[12] = Image.createImage("/images/cocoasoft.png");
  61.          this.imageWidth = this.images[0].getWidth();
  62.          this.imageHeight = this.images[0].getHeight();
  63.          this.iBottomLine = this.yStart + 1 + (this.imageHeight + 2) * 2;
  64.       } catch (Exception var2) {
  65.          System.out.println("error");
  66.       }
  67.  
  68.       ((Displayable)this).setCommandListener(this);
  69.       ((Displayable)this).addCommand(this.aboutCommand);
  70.       ((Displayable)this).addCommand(this.helpCommand);
  71.       ((Displayable)this).addCommand(this.exitCommand);
  72.    }
  73.  
  74.    public void commandAction(Command var1, Displayable var2) {
  75.       if (var1 == this.aboutCommand) {
  76.          Alert var3 = new Alert("MicroMail", Resource.getText(61), (Image)null, (AlertType)null);
  77.          var3.setTimeout(-2);
  78.          MicroMail.display.setCurrent(var3, this);
  79.       } else if (var1 == this.helpCommand) {
  80.          Alert var5 = new Alert("Help", Resource.getText(60), (Image)null, (AlertType)null);
  81.          var5.setTimeout(-2);
  82.          MicroMail.display.setCurrent(var5, this);
  83.       } else if (var1 == this.exitCommand) {
  84.          try {
  85.             this.midlet.destroyApp(false);
  86.             this.midlet.notifyDestroyed();
  87.          } catch (Exception var4) {
  88.          }
  89.       }
  90.  
  91.    }
  92.  
  93.    private void drawSelected(Graphics var1) {
  94.       int var2 = this.prevSelected / 3;
  95.       int var3 = this.prevSelected % 3;
  96.       int var4 = 1 + (this.imageWidth + 5) * var3;
  97.       int var5 = this.yStart - 1 + (this.imageHeight + 2) * var2;
  98.       var1.setColor(16777215);
  99.       var1.drawRect(var4, var5, this.imageWidth + 1, this.imageHeight + 1);
  100.       var2 = this.selected / 3;
  101.       var3 = this.selected % 3;
  102.       var4 = 1 + (this.imageWidth + 5) * var3;
  103.       var5 = this.yStart - 1 + (this.imageHeight + 2) * var2;
  104.       var1.setColor(0);
  105.       if (!this.pressed) {
  106.          var1.drawRect(var4, var5, this.imageWidth + 1, this.imageHeight + 1);
  107.       } else {
  108.          var1.drawImage(this.images[this.selected + this.images.length / 2], var4 + 1, var5 + 1, 20);
  109.  
  110.          try {
  111.             Thread.sleep(50L);
  112.          } catch (Exception var6) {
  113.          }
  114.  
  115.          this.pressed = false;
  116.          var1.drawImage(this.images[this.selected], var4 + 1, var5 + 1, 20);
  117.          var1.drawRect(var4, var5, this.imageWidth + 1, this.imageHeight + 1);
  118.       }
  119.  
  120.    }
  121.  
  122.    public void keyPressed(int var1) {
  123.       System.out.println("keypress");
  124.       if (this.buttonReleased) {
  125.          this.prevSelected = this.selected;
  126.          int var2 = ((Canvas)this).getGameAction(var1);
  127.          switch (var2) {
  128.             case 1:
  129.                if (this.selected - 3 > -1) {
  130.                   this.selected -= 3;
  131.                }
  132.  
  133.                ((Canvas)this).repaint();
  134.                ((Canvas)this).serviceRepaints();
  135.                break;
  136.             case 2:
  137.                if (this.selected > 0) {
  138.                   --this.selected;
  139.                }
  140.  
  141.                ((Canvas)this).repaint();
  142.                ((Canvas)this).serviceRepaints();
  143.             case 3:
  144.             case 4:
  145.             case 7:
  146.             default:
  147.                break;
  148.             case 5:
  149.                if (this.selected + 1 <= 5) {
  150.                   ++this.selected;
  151.                }
  152.  
  153.                ((Canvas)this).repaint();
  154.                ((Canvas)this).serviceRepaints();
  155.                break;
  156.             case 6:
  157.                if (this.selected + 3 <= 5) {
  158.                   this.selected += 3;
  159.                }
  160.  
  161.                ((Canvas)this).repaint();
  162.                ((Canvas)this).serviceRepaints();
  163.                break;
  164.             case 8:
  165.                this.pressed = true;
  166.                this.buttonReleased = false;
  167.                ((Canvas)this).repaint();
  168.                ((Canvas)this).serviceRepaints();
  169.                if (this.selected < 4) {
  170.                   MicroCache.refreshMessageList(this.selected + 1);
  171.                   MessageList var3 = new MessageList(this.midlet, this.selected + 1);
  172.                   MicroMail.display.setCurrent(var3);
  173.                } else if (this.selected == 4) {
  174.                   AccountList var4 = new AccountList(this.midlet);
  175.                   MicroMail.display.setCurrent(var4);
  176.                } else if (this.selected == 5) {
  177.                   AddressList var5 = new AddressList(this.midlet, this);
  178.                   MicroMail.display.setCurrent(var5);
  179.                }
  180.          }
  181.  
  182.          System.gc();
  183.       }
  184.    }
  185.  
  186.    public void paint(Graphics var1) {
  187.       if (this.showIntroScreen) {
  188.          try {
  189.             var1.drawImage(this.img, 0, 0, 20);
  190.          } catch (Exception var4) {
  191.          }
  192.       } else {
  193.          try {
  194.             var1.setColor(16777215);
  195.             var1.fillRect(0, 0, 101, 81);
  196.             var1.setColor(0);
  197.             var1.setFont(this.fSmall);
  198.             String var2 = null;
  199.             if (!this.pressed) {
  200.                if (this.selected < 4) {
  201.                   var2 = Resource.getText(32) + MessageHandler.getBoxName(this.selected + 1);
  202.                } else if (this.selected == 4) {
  203.                   var2 = Resource.getText(15);
  204.                } else if (this.selected == 5) {
  205.                   var2 = Resource.getText(12);
  206.                }
  207.             } else {
  208.                var2 = Resource.getText(33);
  209.             }
  210.  
  211.             var1.drawString(var2, 0, 0, 20);
  212.             var1.drawLine(0, this.yStart - 4, 101, this.yStart - 4);
  213.             var1.drawImage(this.images[0], 2, this.yStart, 20);
  214.             var1.drawImage(this.images[1], 2 + this.imageWidth + 5, this.yStart, 20);
  215.             var1.drawImage(this.images[2], (2 + this.imageWidth + 5) * 2, this.yStart, 20);
  216.             var1.drawImage(this.images[3], 2, this.yStart + this.imageHeight + 2, 20);
  217.             var1.drawImage(this.images[4], 2 + this.imageWidth + 5, this.yStart + this.imageHeight + 2, 20);
  218.             var1.drawImage(this.images[5], (2 + this.imageWidth + 5) * 2, this.yStart + this.imageHeight + 2, 20);
  219.             var1.drawLine(0, this.iBottomLine, 101, this.iBottomLine);
  220.             var1.drawImage(this.images[12], 0, this.iBottomLine + 3, 20);
  221.             this.drawSelected(var1);
  222.          } catch (Exception var3) {
  223.             System.out.println(var3.getClass().getName() + ": " + ((Throwable)var3).getMessage());
  224.          }
  225.       }
  226.  
  227.    }
  228.  
  229.    public void setButtonReleased(boolean var1) {
  230.       this.buttonReleased = var1;
  231.    }
  232.  
  233.    public void setShowIntroScreen(boolean var1) {
  234.       this.showIntroScreen = var1;
  235.       ((Canvas)this).repaint();
  236.       ((Canvas)this).serviceRepaints();
  237.    }
  238. }
  239.